The invention relates to apparatus and methods for avoiding delayed data being delivered to a network endpoint.
Data processing systems connected together over a network exchange messages in accordance with one or more network protocols or combinations of network protocol layers. For example, personal computers connected to the internet communicate with one another by at least TCP/IP. Network protocols typically make a best effort to deliver network messages to a network endpoint even if that means that a network message arrives late or out of order at its destination. This is because generally it is most important that a network is reliable.
However, the techniques used to ensure that a network protocol is reliable can often result in messages being delayed. In addition, physical factors such as physical breaks in connectivity, faulty equipment, or the distance of transmission can contribute to message delays and lead to messages arriving significantly after the transmitting software might have expected.
For many applications, the reliability of a network connection will be paramount and occasional message delays can be tolerated. For other applications, however, delayed messages are to be avoided and it is preferable that messages are discarded rather than arriving late at their destination. An example application where it is of particular importance to avoid delayed messages is in electronic financial markets. In these situations there is a generally a financial advantage to making trades ahead of competitors since the trades are typically placed in very rapidly moving markets and the margin on any given trade is small. In order to execute a trade, a trading platform transmits messages over a network to an electronic exchange. If those messages are delayed the market conditions on which the trade was predicated could shift and the trade represented by the messages could change from being favourable to detrimental.
There is therefore a need for methods that enable applications to avoid delayed messages being delivered to a network endpoint. However, since the protocols in use over trading networks are well established it is important that such methods are compatible with existing network protocols.